package com.mdb.open.common.enums.trade.type;

import com.mdb.bc.api.enums.ApiEnum;

/**
 * @description: 汇款用途类型
 * @author: zheng
 **/
public enum RemittancePurposeTypeEnum implements ApiEnum<String> {

    DEPOSIT("Deposit","定金"){
        @Override
        public RemittancePurposePyTypeEnum getPyTypeEnum() {
            return RemittancePurposePyTypeEnum.PAY_FOR_GOODS;
        }
    },
    OUTWARD("OUTWARD","货款"){
        @Override
        public RemittancePurposePyTypeEnum getPyTypeEnum() {
            return RemittancePurposePyTypeEnum.PAY_FOR_GOODS;
        }
    },
    PAY_FOR_GOODS("PaymentForGoods","货款"){
        @Override
        public RemittancePurposePyTypeEnum getPyTypeEnum() {
            return RemittancePurposePyTypeEnum.PAY_FOR_GOODS;
        }
    },
    PROCESSING_FEE("ProcessingFee","加工费"){
        @Override
        public RemittancePurposePyTypeEnum getPyTypeEnum() {
            return RemittancePurposePyTypeEnum.PROCESSING_FEE;
        }
    },
    DELIVERY_EXPENSE("DeliveryExpense","运输费"){
        @Override
        public RemittancePurposePyTypeEnum getPyTypeEnum() {
            return RemittancePurposePyTypeEnum.DELIVERY_EXPENSE;
        }
    },
    INVESTMENT_FUND("InvestmentFund","投资款"){
        @Override
        public RemittancePurposePyTypeEnum getPyTypeEnum() {
            return RemittancePurposePyTypeEnum.INVESTMENT_FUND;
        }
    },
    REPAYMENT_CONTRIBUTION("Repayment/Contribution","还款/供款"){
        @Override
        public RemittancePurposePyTypeEnum getPyTypeEnum() {
            return RemittancePurposePyTypeEnum.REPAYMENT_CONTRIBUTION;
        }
    },
    TUITION("Tuition","学费"){
        @Override
        public RemittancePurposePyTypeEnum getPyTypeEnum() {
            return RemittancePurposePyTypeEnum.TUITION;
        }
    },
    PARTICIPATION_FEE("ParticipationFee","参与费"){
        @Override
        public RemittancePurposePyTypeEnum getPyTypeEnum() {
            return RemittancePurposePyTypeEnum.PARTICIPATION_FEE;
        }
    },
    SALARY_BONUS_COMMISSION("Salary/Bonus/Commission","工资/花红/佣金"){
        @Override
        public RemittancePurposePyTypeEnum getPyTypeEnum() {
            return RemittancePurposePyTypeEnum.SALARY_BONUS_COMMISSION;
        }
    },
    SERVICE_FEE("ServiceFee","服务费"){
        @Override
        public RemittancePurposePyTypeEnum getPyTypeEnum() {
            return RemittancePurposePyTypeEnum.SERVICE_FEE;
        }
    },
    LIVING_EXPENSE("LivingExpense","生活费"){
        @Override
        public RemittancePurposePyTypeEnum getPyTypeEnum() {
            return RemittancePurposePyTypeEnum.LIVING_EXPENSE;
        }
    },
    DEPOSIT_TRANSFER("DepositTransfer","存款转移"){
        @Override
        public RemittancePurposePyTypeEnum getPyTypeEnum() {
            return RemittancePurposePyTypeEnum.DEPOSIT_TRANSFER;
        }
    },
    REAL_ESTATE_INVESTING("RealEstateInvesting","房地产投资"){
        @Override
        public RemittancePurposePyTypeEnum getPyTypeEnum() {
            return RemittancePurposePyTypeEnum.REAL_ESTATE_INVESTING;
        }
    },
    OTHER("Other","其他"){
        @Override
        public RemittancePurposePyTypeEnum getPyTypeEnum() {
            return RemittancePurposePyTypeEnum.OTHER;
        }
    },
    ;
    //产品说明（暂时保留）：若客户选择了other时，在汇款报文中70场，录入other

    RemittancePurposeTypeEnum(String textEN, String textCN) {
        this.textEN = textEN;
        this.textCN = textCN;
    }

    private RemittancePurposePyTypeEnum pyTypeEnum;

    public RemittancePurposePyTypeEnum getPyTypeEnum() {
        return pyTypeEnum;
    }

    String textEN;
    String textCN;

    @Override
    public String getValue() {
        return name();
    }

    public String getTextCN() {
        return textCN;
    }

    @Override
    public String getText() {
        return textEN;
    }
}
